package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;

/**
 * t_user表对应实体
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("t_user")
public class TUser implements Serializable {

    private static final long serialVersionUID = -8359346145696987096L;

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 用户名称
     */
    @TableField("userName")
    private String userName;
    /**
     * 真实名称
     */
    @TableField("realName")
    private String realName;
    /**
     * 性别
     */
    @TableField("sex")
    private Byte sex;
    /**
     * 手机号码
     */
    @TableField("mobile")
    private String mobile;
    /**
     * 电子邮箱
     */
    @TableField("email")
    private String email;
    /**
     * 备注
     */
    @TableField("note")
    private String note;
    /**
     * 职位信息
     *    表示该属性不是表中字段，但又是必须使用的
     *    一对一关系
     */
    @TableField(exist = false)
    private TPosition position;

    /**
     * 工作履历信息
     *    一对多关系
     */
    @TableField(exist = false)
    private List<TJobHistory> jobs;

    /**
     * 角色信息
     *    多对多关系
     */
    @TableField(exist = false)
    private List<TRole> roles;

    public TUser(String userName, String realName, Byte sex, String mobile, String email, String note) {
        this.userName = userName;
        this.realName = realName;
        this.sex = sex;
        this.mobile = mobile;
        this.email = email;
        this.note = note;
    }


}